import pandas as pd
import os

# 指定CSV文件所在的目录
directory = 'C:/Users/Acer/2024zgm/project-2024-a/data'
all_files = [os.path.join(directory, f) for f in os.listdir(directory) if f.endswith('.csv')]

# 创建一个空的DataFrame，用于存储合并后的数据
merged_df = pd.DataFrame()

# 遍历所有文件
for file in all_files:
    # 读取CSV文件
    current_df = pd.read_csv(file)

    # 按列合并，保留所有列
    merged_df = pd.concat([merged_df, current_df], axis=1, sort=False)

# 移除重复的索引列（如果有）
merged_df = merged_df.loc[:,~merged_df.columns.duplicated()]

# 将所有的NaN值填充为0
merged_df.fillna(0, inplace=True)

# 将所有列的小数转换为整数
merged_df = merged_df.applymap(lambda x: round(x) if isinstance(x, float) else x)

# 现在merged_df包含了所有CSV文件的数据，所有列都被保留
# 可以选择保存到一个新的CSV文件
merged_df.to_csv('merged_file1.csv', index=False)

